package com.cmwa.scbp.sys.permission.post.dao;

import java.util.List;
import java.util.Set;

import org.apache.commons.collections.map.HashedMap;
import org.apache.ibatis.annotations.Param;

import com.cmwa.scbp.base.annotation.MybatisDao;
import com.cmwa.scbp.base.mvc.entity.SearchParam;
import com.cmwa.scbp.sys.permission.post.entity.PostVo;

@MybatisDao
public interface PostDao {

	/**
	 * 根据岗位ID获取详情
	 * @param postId
	 * @return
	 */
	PostVo detailById(String postId);

	/**
	 * 保存岗位
	 * @param postVo
	 * @return
	 */
	void savePost(PostVo postVo);

	/**
	 * 更新
	 * @param postVo
	 */
	void updatePost(PostVo postVo);

	/**
	 * 获取符合条件岗位的数量
	 * @param param
	 * @return
	 */
	int getCount(HashedMap param);

	/**
	 * 岗位列表数据
	 * @param param
	 * @return
	 */
	List<PostVo> postListPage(SearchParam param);

	/**
	 * 获取匹配岗位
	 * @return
	 */
	List<PostVo> queryMatchPost(@Param(value="postTitle") String postTitle);

	/**
	 * 根据条件去查询匹配岗位
	 * @param condiction
	 * @return
	 */
	List<PostVo> queryMatchPostByCondition(PostVo condiction);
	
	/**
	 * 查询岗位信息
	 * @param postVo
	 * @return
	 */
	PostVo queryPostInfo(PostVo postVo);

	/**
	 * 根据人员查询岗位
	 * @author ex-hejm
	 * @date 2018年10月23日 下午4:34:22
	 * @param empId
	 * @return
	 */
	Set<String> getPostCodesByEmpId(String empId);
	
	/**
	 * 查询页面可配置的所有岗位
	 * @param postCode
	 * @return
	 */
	List<PostVo> queryIsConfPostList();
}
